package com.exercise.ThreadAttribute;

/**
 * 守护进程
 */
public class DaemonThreadExample {
//守护线程是一个特殊的线程，它的存在是为了服务于其他线程。当所有非守护线程结束时，守护线程会自动结束。
    public static void main(String[] args) {
        Thread daemonThread = new Thread(() -> {
            while (true) {
                System.out.println("Daemon thread is running...");
                try {
                    Thread.sleep(500);
                    System.out.println("守护线程正在运行...");
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });
        // 设置为守护线程
        daemonThread.setDaemon(true);
        daemonThread.start();
        System.out.println("Main thread is running...");
        //守护进程在主线程退出后停止
    }
}
